// 路由导航守卫,有些路由跳转有权限才可以跳转,没有权限就去登录
import React from 'react'
import { Route, Redirect } from 'react-router-dom'
import { isAuth } from '../../utils/token'

// 跳转的时候需要props，或者另一种方法是用withRouter
function AuthRoute ({ component: Component, ...rest }) {
  return (
    <Route
      {...rest}
      render={props => {
        if (isAuth()) {
          // 有权限
          return <Component {...props} />
        } else {
          // 没有权限
          return (
            <Redirect
              to={{
                pathname: '/login',
                state: { from: props.location.pathname }
              }}
            />
          )
        }
      }}
    />
  )
}



// function AuthRoute ({ children, ...rest }) {
//   return (
//     <Route
//       {...rest}
//       render={props => 
//         isAuth() ? (
//           children
//         ) : (
//           <Redirect 
//            to={{
//              pathname: '/login',
//              state: { from: props.location.pathname }
//            }}/>
//         )
//       }></Route>
//   )
// }

export default AuthRoute